data_table_view Derived Type

type, public :: data_table_view

A live positional selection of rows and columns in shared table state.


Finalization Procedures

final :: dtv_finalize

  • private subroutine dtv_finalize(this)

    Releases the state retained by a view when it leaves scope.

    Arguments

    Type IntentOptional Attributes Name
    type(data_table_view), intent(inout) :: this

    The view being finalized.


Type-Bound Procedures

procedure, public :: column_count => dtv_column_count

  • private pure function dtv_column_count(this) result(rst)

    Returns the number of selected columns currently available.

    Arguments

    Type IntentOptional Attributes Name
    class(data_table_view), intent(in) :: this

    The view being queried.

    Return Value integer(kind=int32)

    The visible column count after clipping to the current table shape.

procedure, public :: column_slice => dtv_column_slice

  • private function dtv_column_slice(this, col) result(rst)

    Borrows the selected row range from one selected column. The pointer is invalidated if the column is removed or its array is reallocated; reacquire it after such edits.

    Arguments

    Type IntentOptional Attributes Name
    class(data_table_view), intent(in) :: this

    The view selecting rows and columns.

    integer(kind=int32), intent(in) :: col

    One-based position of the column within the view.

    Return Value class(*), pointer, dimension(:)

    Mutable selected values; reacquire after a source-column reallocation.

procedure, public :: get_column => dtv_get_column

  • private function dtv_get_column(this, col) result(rst)

    Gets a borrowed pointer to a selected column's full underlying column. The pointer is not restricted to the selected rows; use column_slice for those rows. Removing the column invalidates the pointer.

    Arguments

    Type IntentOptional Attributes Name
    class(data_table_view), intent(in) :: this

    The view selecting the column.

    integer(kind=int32), intent(in) :: col

    One-based position within the view's selected columns.

    Return Value class(data_column), pointer

    The stored column; invalid view positions cause an error stop.

procedure, public :: row_count => dtv_row_count

  • private function dtv_row_count(this) result(rst)

    Returns the number of selected rows currently available.

    Arguments

    Type IntentOptional Attributes Name
    class(data_table_view), intent(in) :: this

    The view being queried.

    Return Value integer(kind=int32)

    The visible row count after clipping to the current table shape.